package ar.uade.distribuidas.tpo.srv.util;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import ar.uade.distribuidas.tpo.base.dominiodto.ClienteDTO;
import ar.uade.distribuidas.tpo.base.dominiodto.ItemListaPrecioDTO;
import ar.uade.distribuidas.tpo.base.dominiodto.ListaPrecioDTO;
import ar.uade.distribuidas.tpo.base.dominiodto.ProveedorDTO;
import ar.uade.distribuidas.tpo.base.dominiodto.RodamientoDTO;
import ar.uade.distribuidas.tpo.srv.delegado.BD;

public class ListaPrecioGenerate {

	public static void main(String[] args) {
		

		ProveedorDTO proveedor = new ProveedorDTO(11l);
		proveedor.setNombre("Proveedor 1");
		ProveedorDTO proveedor2 = new ProveedorDTO(12L);
		proveedor2.setNombre("asss");
		proveedor = getOrSave(proveedor);
		proveedor2 = getOrSave(proveedor2);
		
		RodamientoDTO r1 = new RodamientoDTO(1212, "RS", "NTN", "ARG");
		r1 = getOrSave(r1);
		
		RodamientoDTO r2 = new RodamientoDTO(3535, "SS", "SKF", "SWD");
		r2 = getOrSave(r2);
		
		
		
		
		
//		ItemListaPrecioDTO ilp = new ItemListaPrecioDTO(5, r1, 1000, 4d);
//		ItemListaPrecioDTO ilp2 = new ItemListaPrecioDTO(2, r2, 1000, 4d);
//		
//		List<ItemListaPrecioDTO> list1 = new ArrayList<ItemListaPrecioDTO>();
//		list1.add(ilp);
//		List<ItemListaPrecioDTO> list2 = new ArrayList<ItemListaPrecioDTO>();
//		list2.add(ilp2);
//		ListaPrecioDTO lp = new ListaPrecioDTO(3,list1,new Date(),null);
//		lp.setProveedor(proveedor);
//		ListaPrecioDTO lp2 = new ListaPrecioDTO(2,list2,new Date(),null);
//		lp2.setProveedor(proveedor2);
//		BD.getInstance().altaListaPrecio(lp);
//		BD.getInstance().altaListaPrecio(lp2);
	}
	
	
	
	private static RodamientoDTO getOrSave(RodamientoDTO dto) {
		RodamientoDTO r = BD.getInstance().getRodamiento(dto);
		
		if(r==null) {
			BD.getInstance().altaRodamiento(dto);
			r = BD.getInstance().getRodamiento(dto);
		}
		
		return r;
	}

	private static ProveedorDTO getOrSave(ProveedorDTO dto) {
		ProveedorDTO r = BD.getInstance().getProveedor((dto.getCuil()));
		
		if(r==null) {
			BD.getInstance().altaProveedor(dto);
			r = BD.getInstance().getProveedor((dto.getCuil()));
		}
		
		return r;
	}
	
//	private static ItemListaPrecioDTO getOrSave(ItemListaPrecioDTO dto) {
//		ItemListaPrecioDTO r = BD.getInstance().getItemListaPrecio((dto.getIdItem()));
//		
//		if(r==null) {
//			BD.getInstance().altaItemListaPrecio(dto);;
//			r = BD.getInstance().getItemListaPrecio(dto.getIdItem());
//		}
//		
//		return r;
//	}
}
